import tarfile
from datetime import datetime

import util


def get_pppoe_zip(d):
    return f"D:\\家宽\\pppoe\\PPPOE_202507{util.get_day(d)}.txt.tar.gz"


def get_pppoe_by_date(d):
    # 如果输入是字符串，尝试转换为datetime对象
    if isinstance(d, str):
        try:
            # 假设字符串格式为 'YYYY-MM-DD'，可根据实际情况调整格式
            d = datetime.strptime(d, '%Y-%m-%d')
        except ValueError:
            raise ValueError("字符串格式不正确，请使用'YYYY-MM-DD'格式")

    # 确保转换后是datetime对象
    if not isinstance(d, datetime):
        raise TypeError("参数必须是datetime对象或'YYYY-MM-DD'格式的字符串")

    return f"D:\\家宽\\pppoe\\PPPOE_{d.year}{util.get_day(d.month)}{util.get_day(d.day)}.txt"

def get_cpe_by_date(d):
    return f"D:\\家宽\\pppoe\\cpe_{d.year}{util.get_day(d.month)}{util.get_day(d.day)}.txt"


def unzip(d):
    file_path = get_pppoe_zip(d)
    # 打开 tar.gz 文件
    with tarfile.open(file_path, 'r:gz') as tar:
        # 解压文件到当前目录
        tar.extractall(path="D:\\家宽\\pppoe\\")
    # file_path = f"D:\\家宽\\pppoe\\cpe_202503{util.get_day(d)}.txt.tar.gz"
    # # 打开 tar.gz 文件
    # with tarfile.open(file_path, 'r:gz') as tar:
    #     # 解压文件到当前目录
    #     tar.extractall(path="D:\\家宽\\pppoe\\")


if __name__ == '__main__':
    unzip(31)
